"""
创建一个Celery对象

1.任务
  (1)任务的包名必须是 tasks.py　因为我们大的celery可以自动检测任务
    ，检测任务的时候检测到tasks.py文件
  (2)任务其实就是一个函数
  (3)这个任务必须被 Celery的实例对象的　task的装饰器　装饰

2.broker
3.worker

"""

from celery import Celery

# import os
# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mall.settings")

#进行Celery允许配置
# 为celery使用django配置文件进行设置
import os
if not os.getenv('DJANGO_SETTINGS_MODULE'):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'mall.settings'

# 以上设置必须在 celery 对象创建前



# 创建Celery对象
# celery的第一个参数：一般设置clery文件路径
# main的值　不重复就可以
app = Celery('celery_tasks')

# 设置broker
# config_from_object　填写配置信息的路径
app.config_from_object('celery_tasks.config')

# 让celery 自动检测任务
# 第一个参数是　任务列表[]
# 元素是　需要添加　任务包的路径
app.autodiscover_tasks(['celery_tasks.sms','celery_tasks.email','celery_tasks.html'])

# worker 其实就是一条命令
#  celery -A celery　实例对象的文件路径　worker -l info

# 这条指令需要在虚拟环境中执行
# celery -A celery_tasks.main worker -l info













